From a backup and restore point of view, applications are composed of both their executables and the data files they create, modify, and/or use. When an application is in a bad state but the remainder of the system is in a good state, a system administrator may attempt to initiate a partial restore of just the bad application. However, identifying exactly which files need to be restored can be an error-prone process. Applications are installed into multiple directories, and application data files reside in even more directories. If the administrator selects the wrong set of files to restore, the application may be non-functional or may be in an inconsistent state.
Alternatively, the administrator may attempt to repair a malfunctioning application by restoring the entire file system from a backup storage system. However, since the administrator only needs to repair the malfunctioning application, restoring an entire file-system may be excessive and inefficient. What is needed, therefore, is a mechanism that accurately and efficiently restores individual applications from backup storage systems.